/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.edu.pucp.Servicio;

import java.util.ArrayList;
import pe.edu.pucp.DAO.DAOFactura;
import pe.edu.pucp.DAO.DAOUsuario;
import pe.edu.pucp.bean.Cliente;
import pe.edu.pucp.bean.Usuario;


public class Servicio_Usuario {
    public static Servicio_Usuario instance = null;
     public static final int DB_TYPE = DAOFactura.ACCESS;
    
    protected void Service_User(){}
    
    public static Servicio_Usuario get_instance(){
        if(instance == null) instance = new Servicio_Usuario();
        return instance;
    }
    public int agregaUsuario(Usuario user){
            DAOFactura daoFactura = DAOFactura.get_instance(DB_TYPE);
            DAOUsuario daoUsuario = daoFactura.getDAOUsuario();
            return daoUsuario.insert(user);
        }
    public int editaUsuario(Usuario user){
           DAOFactura daoFactura = DAOFactura.get_instance(DB_TYPE);
            DAOUsuario daoUsuario = daoFactura.getDAOUsuario();
            return daoUsuario.update(user);                    
        } 
   public int eliminaUsuario(String id){
       DAOFactura daoFactura = DAOFactura.get_instance(DB_TYPE);
        DAOUsuario daoUsuario = daoFactura.getDAOUsuario();
        return daoUsuario.delete(id);
    }
    public int queryIdPass(String id,String pass){
       DAOFactura daoFactura = DAOFactura.get_instance(DB_TYPE);
        DAOUsuario daoUsuario = daoFactura.getDAOUsuario();
        return daoUsuario.queryIdPass(id,pass);

    }
    public Usuario queryByUsuario(String id){        
            DAOFactura daofactura = DAOFactura.get_instance(DB_TYPE);
            DAOUsuario daoUsuario = daofactura.getDAOUsuario();
            return daoUsuario.queryById(id);
        }
    public ArrayList<Usuario> queryByName(String nombre){
            DAOFactura daofactura = DAOFactura.get_instance(DB_TYPE);
            DAOUsuario daoUsuario = daofactura.getDAOUsuario();
            return daoUsuario.queryByName(nombre);        
        }
    public final ArrayList<Usuario> queryAllUsuarios(){
             DAOFactura daofactura = DAOFactura.get_instance(DB_TYPE);
            DAOUsuario daoUsuario = daofactura.getDAOUsuario();
            return daoUsuario.queryAll();
        }

    public ArrayList<Usuario> queryByCampos(String nombre,String App,String Apm) {
       DAOFactura daofactura = DAOFactura.get_instance(DB_TYPE);
            DAOUsuario daoUsuario = daofactura.getDAOUsuario();
            return daoUsuario.querybycampos(nombre,App,Apm);
    }
    
   
    
    
}
